/** 
 * projectName:  
 * fileName:  
 * packageName:  
 * date: 
 * copyright(c) 2017-2020 xxx公司
 */
package cn.horesman.service;

import cn.itcast.pojo.*;
import cn.itcast.util.ResponseEntity;
import com.github.pagehelper.PageInfo;

import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.List;
import java.util.Map;


/**
 * @title: userService.java 
 * @package com.job.service 
 * @description: TODO
 * @author: 欧阳辉
 * @date: 2019年1月25日 下午3:17:36 
 * @version: V1.0   
*/
public interface HoresmanService {

	Map<String,Object> login(String username, String password);

	List<order> findHoresmanOrder(String orderStatus, String openId);

    List<order> findmerchantOrder(String orderStatus,String merchantopenid);

//    PageInfo findHoresmanOrder(String orderStatus, String openId, Integer page);

	boolean acceptOrder(Integer orderId,String acceptText);

	order findOneOrder(String orderId);

    boolean abnormalOrder(Integer orderId, String explain);

    boolean updateUserInfo(horseman horseman);

	boolean updateOrder(order order);

	boolean addImgPath(String path, Integer id);

    boolean updateOrderItem(orderItem orderItem, Integer orderId);

	boolean addOrderItem(Integer orderId, Integer classifyId);

	boolean delectOrderItem(Integer orderId);

    boolean createAccount(account account);

    boolean toPayByOrder(Integer orderId, String openId,double price);

    /**
     * 功能描述: <br>
     * 〈骑手支付订单〉
     * @Author: lyy
     * @Date: 2020/8/11 15:55
     * @Param: [orderId, openId, price]
     * @Return: cn.itcast.util.ResponseEntity
     */
    ResponseEntity PayByOrderLu(Integer orderId, String openId,double price);


	horseman findUserInfo(String openId);

    boolean toLatAndLon(String lat, String lon,String openId);

	horseman findHoresmanArea(String openId);

    boolean cancelOrder(Integer orderId);

    List<merchant> getAllMerchant(Integer pageNum, Integer pageSize, String select, String value);

	boolean packgeOrder(String horesmanOpenId, String merchantOpenId, String[] orderItem, String name);

	List<String> findPackageType(String openId);

	List<packageOrder> findAllPackageOrder(String status, String openId);

	boolean cancelPackageOrder(Integer orderId);

	List<order> findPackageOrder(String openId,String type);

    boolean addOrder(packageOrder packageOrder, String productId);

    boolean merchaaddOrder(packageOrder packageOrder, String productId);


    Map<String, List<earnings>> findAllEarnings(String openId);

    horseman findHoresmanStarLever(String openId);

    boolean applyAdd(String openId,String orderId);

	boolean apply(String orderId);

    boolean toCode(int code,String phone);

    boolean register(horseman horseman);

    Map<String, String> drive(String url);

    String getHoresmanToken();

    double todayCount(String openId);

    double yesterdayCount(String openId);

    double orderTodayCount(String openId);

    double orderYesterdayCount(String openId);

    double orderTodayWeight(String openId);

    double orderYesterdayWeight(String openId);

    List<Map<String,Object>> findPackageClassify();

    List<merchant> selectAllIsopenMerchant(Integer pageNum, Integer pageSize);


}
